As human beings, it is natural for users of computing devices to constantly change their viewing behaviors based on any number of factors, such as eye strength, health, presences and type of eye glasses, lighting/brightness, font size, distance between a user and a computing device, etc. However, any change in the user's viewing behavior leads to the user having to manually adjust one or more viewing characteristics (e.g., move the computing device closer, change the font size, etc.) of the computing device to adjust it to the change in the user's viewing behavior or alternatively, further change the user's own viewing behavior (e.g., get closer to the computing device, squinting of the eyes, etc.). Such manual adjustments are not only burdensome and inefficient, but also prone to human error and sometimes, unachievable.